package deployr.domain;

import java.io.*;
import java.util.*;

import deployr.core.*;

public interface IUpdate {

	IEvent addEvent(String name, Date now);

	String getArtifactId();

	String getChecksum();

	Date getCreated();

	Iterable<IDeliverable> deliverables();

	String getDiffContent();

	String diffSummary();

	Iterable<IEvent> events();

	String index();

	Status getStatus();

	void updateChecksum(String checksum);

	void updateDiff(String diff);

	String getVersion();

	String getProjectKey();

	String getUpdateKey();

	IDeliverable findDeliverable(String name);

	IDeliverable addDeliverable(String name, File file);

	IDeliverable addDeliverable(String name, InputStream inputStream);

}